﻿using System;
using System.Collections.Generic;
using EzDesk.Apps.Model.Attendance;
using EzDesk.Apps.ServiceImpl.Attendance;
using EzDesk.Apps.ServiceImpl.Attendance.Evaluation;
using EzDesk.Apps.UnitTest.Attendance;

namespace EzDesk.Apps.UnitTest
{
    public class DayAttendanceEvaluationContext : AttendanceContextBase<DayAttendanceEvaluatorEx>
    {
        public DayAttendanceEvaluationContext()
        {
            initAttendanceConfig();
            this._userId = Guid.NewGuid();
            this._dayInfo = new DayInfo { Date = DateTime.Parse("2010-11-14 9:40:30") };
            this._extraManhours = 0;
            this._dayLeaveInfo = new DayLeaveInfo();
        }

        public override DayAttendanceEvaluatorEx Service
        {
            get
            {
                return new DayAttendanceEvaluatorEx(
                    _userId,
                    _dayInfo,
                    _attendanceConfig,
                    _attendanceInfoList,
                    _dayLeaveInfo
                    );
            }
        }
        
        public SimpleDayAttendanceEvaluator SimpleService
        {
            get
            {
                return new SimpleDayAttendanceEvaluator(
                    _dayInfo,
                    _attendanceConfig,
                    _attendanceInfoList);
            }
        }

    }


}